import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final String message =
      "在7月11日，接连几天都在“发疯”般攻击网友和郑云龙的仝卓，又一次发布动态，并且还带上了姚晨。起因是郑云龙为电视剧《锦绣南歌》演唱了主题曲《莫失莫忘》，随后在晚上为主题曲做宣传。在7月11日中午，姚晨转发了郑云龙的主题曲，并鼓励他“大龙，加油！”还带上一朵玫瑰的表情。随后仝卓本人直接转发，并嘲讽道“恶之花这么快就报团了？都什么人可想而知”，语气中满满的讽刺。";
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("文本"),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Text(
            message,
            maxLines: 2,
            overflow: TextOverflow.ellipsis,
            textScaleFactor: 1.5,
            style: TextStyle(
              fontSize: 30.0,
              fontWeight: FontWeight.w900,
              color: Colors.red,
            ),
            textAlign: TextAlign.center,
          ),
          // abstract 抽象类无法实例化，所以要传它的子类，as可以通过option+cmd+b查看它的子类 但是如果实现了工厂构造方法是可以实例化的比如NetworkImage
          Text.rich(
            TextSpan(
              children: [
              TextSpan(
                text: "抽象类无法实例化，所以要传它的子类，as可以通过option+cmd+b查看它的子类抽象类无法实例化",
                style: TextStyle(color: Colors.green),
              ),
              TextSpan(
                text: "所以要传它的子类",
                style: TextStyle(color: Colors.red),
              ),
              TextSpan(
                text: "as可以通过",
                style: TextStyle(color: Colors.orange),
              ),
              WidgetSpan(
                  child: Icon(
                Icons.favorite,
                color: Colors.red,
              )),
              TextSpan(
                text: "option+cmd+b查看它的子类",
                style: TextStyle(color: Colors.purple),
              ),
            ]),
            textAlign: TextAlign.left,
          ),
        ],
      ),
    );
  }
}
